Combining Static and Dynamic Feature Binding in Software Product Lines
نویسندگان
چکیده
Software product lines (SPL) are used to build similar programs from a single code base. Programs of an SPL can be distinguished in terms of features, which represent units of program functionality that satisfy requirements. Features of an SPL can be bound either statically at program compile time or dynamically at runtime. Both binding times have advantages and disadvantages, as we will explain. However, contemporary techniques and tools for implementing SPLs do not allow a programmer to flexibly choose the binding time per feature. We present an approach that integrates static and dynamic feature binding. It allows a programmer to implement an SPL once and to decide later which features are statically bound and which dynamically. We provide a compiler and report from experiences of applying our approach to two non-trivial product lines. We analyze resource consumption of the SPLs and provide a guideline for optimizing resource consumption.
منابع مشابه
Combining Runtime Adaptation and Static Binding in Dynamic Software Product Lines
Adaptive systems as well as software product lines (SPLs) aim at variability to cope with changing requirements. Variability can be described in terms of features, which are central for development and configuration of SPLs. In traditional SPLs, features are usually bound statically before runtime. By contrast, dynamic software product lines (DSPLs) support feature binding at runtime and can al...
متن کاملFlexible Feature Binding with AspectJ-based Idioms
In Software Product Lines (SPL), we can bind reusable features to compose a product at different times, which in general are static or dynamic. The former allows customizability without any overhead at runtime. On the other hand, the latter allows feature activation or deactivation while running the application with the cost of performance and memory consumption. To implement features, we might...
متن کاملTowards Flexible Feature Composition: Static and Dynamic Binding in Software Product Lines
Scalable software composition by reusing software assets is one of the major challenges in software engineering since many years. The goal of software product line engineering is to provide a systematic approach for reuse for a set of similar programs, called a software product line (SPL). The programs of an SPL can be distinguished in terms of features, which describe commonalities and differe...
متن کاملFeature Petri Nets
In software product line (SPL) engineering, formal modelling and verification are critical for managing the inherent complexity of systems with a high degree of variability. The number of products in an SPL can be exponential in the number of features. Therefore, the challenge when modelling SPL lies in analysing and verifying large, complex models efficiently, in order to ensure that all produ...
متن کاملVariability Modeling in Model-Driven Software Product Line Engineering
This paper describes an approach for modeling variability in software product lines that are developed, and later evolved, using model-driven software product line development. This paper describes variability management in UML based multiple-view models of the software product line, which consist of developing use case and feature models during requirements modeling, static and dynamic models ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009